{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug C++ Tests",
      "type": "cppdbg",
      "request": "launch",
      "cwd": "${workspaceFolder}",
      "program": "${command:cmake.buildDirectory}/tests/Tests_run", 
      "args": [],
      "environment": [
        {
          "name": "PATH",
          "value": "${command:cmake.buildDirectory}/tests:${env:PATH}"
        }
      ],
      "linux": {
        "MIMode": "gdb",
        "miDebuggerPath": "/usr/bin/gdb"
      },
      "osx": {
        "MIMode": "lldb"
      },
      "stopAtEntry": false,
      "externalConsole": false,
      "preLaunchTask": "CMake: build",
      "sourceFileMap": {
        "${workspaceFolder}": "${workspaceFolder}"
      }
    },
    {
      "name": "C/C++ debugger",
      "type": "cppdbg",
      "request": "launch",
      "cwd": "${workspaceFolder}",
      "program": "${command:cmake.buildDirectory}/bin/FreeCAD", 
      "args": ["${workspaceFolder}/.vscode/scripts/VSCodeAutostartDebug.FCMacro"],
      "environment": [
        {
          "name": "PATH",
          "value": "${command:cmake.buildDirectory}/bin:${env:PATH}"
        },
        {
          "name": "PYDEVD_DISABLE_FILE_VALIDATION",
          "value": "1"
        }
      ],
      "linux": {
        "MIMode": "gdb",
        "miDebuggerPath": "/usr/bin/gdb"
      },
      "osx": {
        "MIMode": "lldb"
      },
      "stopAtEntry": false,
      "externalConsole": false,
      "presentation": {
        "hidden": true,
      }
    },
    {
      "name": "Python debugger",
      "type": "python",
      "request": "attach",
      "preLaunchTask": "WaitForDebugpy",
      "redirectOutput": true,
      "connect": {
        "host": "localhost",
        "port": 5678
      },
      "pathMappings": [
        {
          "localRoot": "${workspaceFolder}/src",
          "remoteRoot": "${command:cmake.buildDirectory}"
        }
      ],
      "justMyCode": false,
      "presentation": {
        "hidden": true,
      }
    }
  ],
  "compounds": [
    {
      "name": "Debug FreeCAD",
      "configurations": ["C/C++ debugger", "Python debugger"],
      "preLaunchTask": "CMake: build",
      "stopAll": true,
      "presentation": {
        "order": 1
      }
    }
  ]
}